Modern computing centers typically operate with a network of computers, computing nodes, or computing systems. In many cases, the hardware systems are abstracted to operating systems by means of a virtualization layer. This typical set-up of cloud computing centers—even without virtualization—satisfies the requirement of users or customers of computing centers to distribute workloads among different systems in order to have a higher total throughput because of a better utilization of individual systems. For the computing center management it means to organize a meaningful distributing of workloads among the computing systems in order to achieve a balance of workloads among the different computing systems. This may make best use of available resources.
There are several disclosures related to a balanced workload distribution. For example, Document U.S. Pat. No. 8,122,132 B2 discloses a technique for operating a high performance computing cluster (HPC) having multiple nodes (each of which includes multiple processors), wherein the technique includes periodically broadcasting information, related to processor utilization and network utilization at each of the multiple nodes, from each other of the multiple nodes to remaining ones of the multiple nodes. Respective local job tables, maintained in each of the multiple nodes, are updated based on the broadcast information. One or more threads are then moved from one or more of the multiple processors to a different one of the multiple processors (based on the broadcast information in the respective local job tables).
In another document, US201122706A1, a method is disclosed which provides an automatic and optimized selection of the network topology for distributing scheduling of jobs on the computers of the modified network topology. The automatic and optimized selection of the network topology starts from the current topology and a desired number of additional connections. In this way, the method of the present invention provides a higher convergence speed for the modified consensus algorithm in comparison, e.g., to a simple ring network. The method exploits the so-called small-world networks.
However, the current approaches to realize a workload distribution are based on splitting the workload between servers using a centralized approach. This may have some limitations in terms of scalability, adaptability and optimization of resources utilization. In addition, it may be quite complex to adapt the resource utilization when the workload is randomly generated by the computing nodes within the network itself.
Thus, there may be a need to overcome the above-mentioned limitations of a centralized approach for workload distribution in a network of computing nodes, and to provide a balanced workload distribution which is more dynamic and adaptable.